package com.winning.sjzc.xmgl.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.winning.sjzc.xmgl.entity.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @program: plat
 * @program: plat
 * @description:
 * @author: jinx
 * @create: 2019-04-30
 **/
@Mapper
public interface XmglDao extends BaseMapper<XmglEntity> {

    List<XmglEntity> queryXmglTableData(Map<String, Object> queryMap);

    List<XmglEntity> queryXmglByXmdm(@Param("xmdm") String xmdm);

    int insertXminfo(XmglEntity entity);

    int updateXminfo(XmglEntity entity);

    int delXminfo(@Param("xmdm") String xmdm);

    String getNewXmdm();

    List<XmglEntity> getSjjTable(Map<String, Object> queryMap);

    List<XmglEntity> getSjjflTree(String xmdm);

    List<XmglEntity> getSjjImportTable(Map<String, Object> queryMap);

    //导入数据集
    int insertSjj(List<XmglEntity> importList);

    //删除数据集
    int delSjj(@Param("lsh") String lsh);

    //更新项目数据集版本
    int updateVersion(@Param("xmdm") String xmdm);

    /**
     * 获取tran信息
     * @return
     */
    List<JobEntity> queryTran();

    /**
     * 获取Job信息
     * @return
     */
    List<JobEntity> queryJob();

    /**
     * 查询项目标准数据集
     * @return
     */
    List<SjjEntity> queryXmbzSjj(Map map);

    /**
     * 获取项目数据集的二级分类
     * @param xmdm
     * @return
     */
    List<String> queryXmbzfl(String xmdm);

    /**
     * 查询项目标准数据元
     * @return
     */
    List<SjyEntity> queryXmbzSjy(@Param("xmdm") String xmdm, @Param("sjjdm") String sjjdm);

    /**
     * 根据job名查询出job配置
     * @return
     */
    List<JobEntity> queryJobByJobname(String jobName);

    /**
     * 更新job信息
     * @param job
     * @return
     */
    int updateJob(List<JobEntity> job);

    /**
     * 新增job信息
     * @param job
     * @return
     */
    int insertJob(List<JobEntity> job);

    /**
     * 随机查询两个2级job(一个前置机和一个中心端的)
     * @return
     */
    List<JobEntity> queryOneJob();

    /**
     * 根据表名查询转换信息
     * @param tranName
     * @return
     */
    List<TranEntity> queryTranByName(String tranName);

    /**
     * 更新作业信息
     * @param tran
     * @return
     */
    int updateTran(List<TranEntity> tran);

    /**
     * 随机查询两个2级Tran(一个前置机和一个中心端的)
     * @return
     */
    List<TranEntity> queryOneTran();

    /***
     * 新增tran
     * @param tran
     * @return
     */
    int insertTran(List<TranEntity> tran);

}
